Referring to a block diagram in FIG. 1, an adjustment control command generating system used in a conventional numerical control system will be briefly explained hereinafter.
In an NC program memory 11, an NC program which will be used for up-coming machining is stored.
An NC program interpreting unit 12 reads the NC program in the NC program memory 11 block by block, and interprets the blocks. The NC program interpreting unit 12 sends to an interpolation processing unit 13 an interpolation kind, a target position, and a feedrate specified in the current block or specified prior to the current block as modal commands.
The interpolation processing unit 13 sends to a servo control unit 14 movements per unit time (per interpolation period) .DELTA.x, .DELTA.y, and .DELTA.z of each shaft, based on the interpolation kind, the target position, and the feedrate.
The servo control unit 14 controls revolution of each motor based on the movements per unit time .DELTA.x, .DELTA.y, and .DELTA.z of each shaft provided by the interpolation processing unit 13, and carries out an operation for each shaft.
A cut monitoring unit 15 receives a spindle load and a feeding shaft load actually detected by the servo control unit 14, and supplies at least one of the loads to an adjustment control unit 16.
The adjustment control unit 16 compares the spindle load and the feeding shaft load provided by the cut monitoring unit 15 with predetermined load values. If the spindle load or the feeding shaft load exceeds a predetermined overload judgment value, the adjustment control unit 16 raises an alarm or the like, and sends a command to the interpolation processing unit 13 to stop each shaft. If the spindle load or the feeding shaft load does not fall within a speed control detection range, the adjustment control unit 16 sends a speed changing command to the interpolation processing unit 13 to increase or decrease a feedrate. If the spindle load or the feeding shaft load is less than a predetermined air-cut judgment value, the adjustment control unit 16 sends to the interpolation processing unit 13 a feedrate command appropriate for air-cut.
Based on these commands, the interpolation processing unit 13 recalculates the movements per unit time (per interpolation period) .DELTA.x, .DELTA.y, and .DELTA.z of each shaft, and sends the movement values to the servo control unit 14.
The above processing will then be repeated until the machining is finished.
A conventional NC program generating system will be explained hereinafter referring to a block diagram in FIG. 2.
An operator inputs to a machining data input unit 21 information necessary for generation of an NC program such as a kind of tool, size of the tool, material composition, and a tool path. The input result is sent to an NC program generating unit 23.
Using the information such as the tool kind, tool size, and material composition, a cut condition data table 22 has a data table structure which enables determination of a feedrate and spindle speeds or the like appropriate for the information. The NC program generating unit 23 refers to the cut condition table.
The NC program generating unit 23 generates an NC program based on the machining data such as the tool kind, the tool size, the material composition, and the tool path provided by the machining data input unit 21, and the cut condition read from the cut condition data table 22 such as the feedrate and spindle speeds or the like which are based on the tool kind, the tool size, and the material composition.
A table data changing unit 24 instructs a change in a relation table between the tool kind, tool size, material composition or the like and the feedrate, spindle speeds or the like.
An NC program editing unit 25 is for the operator to directly edit the NC program.
In the NC program generating system having such a configuration, if the operator wants to change the feedrate or the like in the NC program, one of the following three methods is adopted.
That is, any one of directly commanding the feedrate by the machining data input unit 21, commanding the change in the relationship table between the tool kind, tool size, material composition or the like and the feedrate, the number of spindle revolution or the like in advance, using the table data changing unit 24, or changing an F command using the NC program editing unit 25 is adopted.
A conventional actual tool performance information generating system will be explained referring to a block diagram in FIG. 3.
An NC program which will be used for up-coming machining is stored in an NC program storing unit 31.
An NC program interpreting unit 32 reads the NC program in the NC program memory 31 block by block, and interprets the blocks. The NC program interpreting unit 32 sends to an interpolation processing unit 33 an interpolation kind, a target position, and a feedrate specified in the current block or specified prior to the current block as modal commands. At the same time, based on the NC program, the NC program interpreting unit 32 sends to an actual tool performance information generating unit 36 information for generating actual tool performance information (such as a T command, a G01/G02/G03 command and an F command accompanying it, an S command, and an M02 or M03 command or the like).
The interpolation processing unit 33 sends to a servo control unit 34 movements per unit time (per interpolation period) .DELTA.x, .DELTA.y, and .DELTA.z of each shaft, based on the interpolation kind, the target position, and the feedrate.
The servo control unit 34 controls revolution of each motor based on the movements per unit time .DELTA.x, .DELTA.y, and .DELTA.z of each shaft provided by the interpolation processing unit 33, and carries out an operation for each shaft.
A cut monitoring unit 35 receives a spindle load and a feeding shaft load actually detected by the servo control unit 34, and supplies at least one of the loads to an adjustment control unit 36.
The actual tool performance information generating unit 36 performs accumulation of actual tool performance information or the like, based on the information obtained from the NC program interpreting unit 32. More specifically, the actual tool performance information generating unit 36 confirms a tool number based on the T command, recognizes that machining is being carried out based on the G01/G02/G03 command, recognizes the number of workpieces to be machined, based on the M02 or M03 command, and calculates a feedrate or a cut speed upon the machining, based on the information such as a tool diameter or the like specified by the F command, the S command, and the T command. Furthermore, the actual tool performance information generating unit 36 judges whether or not the tool is in an air-cutting state, based on the spindle load or the feeding shaft load provided by the cut condition monitoring unit 35.
The obtained actual tool performance information is then stored in an actual tool performance information storing unit 37 in the form of, for example, an actual cutting time of each tool, duration of a power-ON state, an air-cutting time during tool feeding, and the number of workpieces to be machined by each tool.
Problems to be Solved by the Invention
In an adjustment control command generating system in a conventional numerical control system, no matter how fast machining state information such as a spindle load or a feeding shaft load is fed back to the system, a delay in adjustment can essentially not be prevented from occurring, and control of "the present" can only be performed by information concerning "the past".
As a result, when a machining process is moved from machining with a heavy machining load to machining with a light machining load, a feedrate is controlled to be slow regardless of the actually light machining load, which leads to deterioration in machining efficiency. On the contrary, when a machining process is moved from machining with a light machining load to machining with a heavy machining load, a feedrate is controlled to be fast regardless of the actually heavy machining load, which leads to an excess load on a tool or inappropriate surface roughness. This trend is especially conspicuous in a case of machining under a fast feedrate.
Furthermore, in a conventional NC program generating system, a cut condition such as a feedrate is instructed by an operator's judgment, or rigidly determined by a tool kind, tool size, material composition or the like. Therefore, the cut condition has nothing to do with an actual cut resistance value or a cut torque.
As a consequence, it has been extremely difficult to continue cutting with an optimal feedrate or a cutting speed, which leads to earlier abrasion of a tool and deterioration in machining accuracy and surface roughness. Moreover, when a tool hits a portion of a material to be machined with a rapidly increasing cut resistance value, damage easily occurs to the tool and to the material to be machined.
Furthermore, a conventional actual tool performance information generating system stores, as actual tool performance information, an actual cutting time of each tool, duration of a power-ON state, an air-cutting time during tool feeding, and the number of workpieces to be machined by each tool. Information which would affect a tool life and machining accuracy, for example how an engagement angle of the tool has changed or which portion of the tool has had the heaviest load on it, has not been sufficiently obtained.
Therefore, it has been difficult to improve tool management techniques, machining techniques, and tool development techniques based on analysis of an effect of an ever-changing machining environment on a tool.
An object of the present invention is to provide a machining simulation device and method used in NC machining which solves the problems described above, performs a machining simulation on graphic data prior to actual machining, reflects the simulation result on actual machining and on generation of a machining program with a condition appropriate for actual machining such as a feedrate and a torque feed forward amount, and provides actual tool performance information useful for tool management techniques, machining techniques, and tool development techniques.